Configurable representation of a virtual button on a game controller touch screen

ABSTRACT

A method, a system and an apparatus of a configurable representation of a virtual button on a game controller touch screen are disclosed. In one aspect, a graphical representation of a virtual control button of a video game is rendered with a game controller processor in a region of a touch screen of a game controller. The rendering of the virtual control button is executed according to a layout command from a video game system. The graphical representation of the virtual control button is associated with another region of the touch screen. A signal that includes the association of the other region with the graphical representation of the virtual control button is communicated to the video game system. The video game system generates a layout update command.

FIELD OF TECHNOLOGY

This disclosure relates generally to video game input, and, more particularly, to a method, apparatus, and a system of a configurable representation of a virtual button on a game controller touch screen.

BACKGROUND

A video game player may use a game controller (e.g. a hand-held game controller, a pointing device) to provide input into a video game processing system. For example, the video-game player may use the game controller to control a behavior of an entity (e.g. a representation of a player character, a vehicle, a space craft) of a video game. The game controller may include a physical control button. The physical control button may be a tangible mechanical assembly placed at a fixed location on the game controller.

Additionally, a video game experience may change as the video game player progresses through various levels of the video game. For example, the video game may become more difficult as the video game player increases in skill level. Moreover, the video game may present a different environment to the video-game player as the video game progresses. However, as the experience of the video game changes, the physical control button remains in the fixed location because it is mechanically integrated into a housing of the game controller. The location of the physical control button may not accommodate changes in the video game experience and/or to variations in preferences of the video-game player. Furthermore, the video-game player may prefer another location other than the fixed location. For example, a game controller designer may locate a particular type of physical control button on a right-hand side of the game controller because a majority of video game players are right handed. As a result, a left-handed video-game player may find the location of the particular type of physical control button on the right side of the game controller awkward. The video game player may become frustrated with the limitations of the physical control button. As a result, the video game player may have difficulty in playing the video game, and the video gaming industry may lose valuable revenue opportunities.

SUMMARY

A method, apparatus and a system of a configurable representation of a virtual button on a game controller touch screen are disclosed. In one aspect, a method includes rendering, with a game controller processor, a representation of a virtual control button in a region of a touch screen of a game controller according to a layout command from a video game system. The method includes associating the representation of the virtual control button with another region of the touch screen. The method also includes communicating a signal comprising an association of the other region with the representation of the virtual control button to the video game system. In addition, the method includes converting the signal to a processor readable code to cause the video game system to generate a layout update command.

In addition, the method may include generating the layout update command. The method may also include communicating the layout update command to the game controller processor. The method may further include rendering, with the game controller processor, the representation of the virtual control button in the other region according to the layout update command. The method may also include providing a graphical representation and a haptic representation of the virtual control button in the other region. The method may also include assigning a value to the virtual control button according to a particular mode of the video game system, a skill level of a particular video game player and a particular video game environment.

In addition, the method may include modifying a shape of the representation of the virtual control button and a size of the representation of the virtual control button. The representation of the virtual control button may be associated with the other region of the touch screen during a runtime mode of the video game system. The other region of the touch screen with a control element may also include recognizing a tactile force in the region of the touch screen and detecting a motion of the tactile force of the other region of the touch screen. The method may include associating another representation of another virtual control button with the other region.

In another aspect, a system includes a video game system, a game controller communicatively coupled with the video game system, and a game controller processor. The game controller processor of the system may render a representation of a virtual control button in a region of a touch screen of the game controller according to a layout command from the video game system. In addition, the game controller processor of the system may detect an association of the representation of the virtual control button with an area outside the region of the touch screen. The game controller also may generate a signal comprising the association of the representation of the virtual control button with the area outside the region. The system may also includes the touch screen of the game controller to display a representation of the virtual control button. In addition, the system may include a virtual control button module of the video game system to analyze the signal rendered by the game controller processor. In addition, the virtual control button module of the system may generate a layout update command to cause the game controller processor to generate another representation of the virtual control button in the area outside the region.

The game controller processor may render the representation of the virtual control button in the area outside the region according to the layout update command. The virtual control button module may assign a value to the virtual control button according to one or more of a particular mode of a video game, a particular skill level of a video game player and a particular video game environment. The virtual control button module may provide a haptic indication of the virtual control button.

The virtual control module may modify one or more of a shape of the representation of the virtual control button and a size of the representation of the virtual control button on the touch screen during a runtime mode of the video game. The virtual control button modules may recognize a drag and drop operation as the association of the representation of the virtual control button with the area outside the region. The virtual control module may associate the representation of the virtual control button with the area outside the region during runtime mode of the video game. The virtual control button module may modify the shape of the representation of the virtual control button and the size of the representation of the virtual control button according to a pre-defined gesture on the touch screen.

In yet another aspect, a method includes rendering, with a processor of a game controller, a virtual button to display on a specified location of a touch screen of the game controller according to a layout command from a video game system. The method also includes determining an association of the virtual button with another location of the touch screen. In addition, the method includes generating a signal comprising the association of the virtual button with the other location of the touch screen. The signal causes the video game system to communicate a layout update command to the game controller.

In addition, the method may include configuring the virtual button in the other location of the touch screen according to the layout update command. The method may include rendering, with the processor of the game controller, a haptic indication of the virtual button on the specified location of the touch screen. The method may include rendering, with the processor of the game controller, a graphical indication of the virtual button on the specified location of the touch screen.

The methods and systems disclosed herein may be implemented in any means for achieving various aspects, and may be executed in a form of a machine-readable medium embodying a set of instructions that, when executed by a machine, cause the machine to perform any of the operations disclosed herein. Other features will be apparent from the accompanying drawings and from the detailed description that follows.

BRIEF DESCRIPTION OF THE VIEWS OF DRAWINGS

Example embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1A illustrates a game controller with a configuration of representations of virtual control buttons on a touch screen, according to one embodiment

FIG. 1B illustrates the game controller with another touch screen configuration, according to one embodiment.

FIG. 2 illustrates executing a drag and drop operation to associate a graphical representation of a virtual φ button with another region of the touch screen, according to one embodiment.

FIG. 3A-B illustrates a multi-touch operation to modify a size and a shape of a graphical representation of a virtual μ button, according to one embodiment.

FIG. 4 illustrates a schematic diagram of a game controller system, according to one embodiment.

FIG. 5 illustrates a block diagram of a video game system, according to one embodiment.

FIG. 6 is a process flow that illustrates configuring a representation of a virtual control button on a touch screen of a game controller, according to one embodiment.

FIG. 7 is a process flow illustrating a method of configuring a touch screen of a game controller, according to one embodiment.

Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.

DETAILED DESCRIPTION

A method, a system, and an apparatus of a configurable representation of a virtual button on a touch screen of a game controller are disclosed. Although the embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various claims.

FIG. 1A illustrates a game controller 103 with a touch screen configuration 101A, according to one embodiment. The touch screen configuration 101A includes representations of virtual control buttons on a touch screen 100 of a game controller 103. The touch screen configuration 101A is rendered according to a layout command from the video game system 105. The virtual control buttons (108, 110, 112) may be both graphically and/or haptically represented with the touch screen 100. It should be noted that the virtual control ‘buttons’ may be graphical indicators of any shape, size, and/or form. In FIG. 1A, the touch screen configuration 101A includes a graphical representation of a virtual α button 110. The touch screen configuration 101A includes a graphical and haptic representation of a virtual β button 108. The touch screen configuration 101A includes a graphical representation of a virtual γ button 112. The touch screen configuration 101A includes a graphical representation of a virtual Δ button 114.

The game controller 103 may be a handheld video game input device. The game controller 103 may be communicatively coupled to a video game system 105 via a network 120. The game controller 103 may also set a mode and/or an operation value of the video game system 105 (e.g. play mode, user preferences mode, volume video display values, etc.) with a mode control button 104. A further explanation of the architecture and operation of the game controller 103 will be provided below in the description of FIG. 4.

The video game system 105 may include a computer that executes video game software. The video game system 105 may use an input (e.g. a signal) from the game controller 103 to govern an action of an entity of a video game. Additionally, for purposes of this description the term video game system 105 may include an electronic gaming system (e.g. personal computer game systems, handheld device game systems, arcade game system). A further explanation of the architecture and operation of the video game system 105 will be provided in the description of FIG. 5.

The game controller 103 is communicatively coupled to the video game system 105 via a network 120. In one embodiment, the network 120 may be an open wireless protocol (e.g. Bluetooth®) to communicatively couple the game controller 103 with the video game system 105. In another embodiment, the network 120 may include a physical transmission medium (e.g. a wire). In still other embodiments, the network 120 may be a local area network, a wide area network and/or the Internet.

The touch screen 100 may receive input from an object (e.g. finger, stylus) in contact with the touch screen 100. For example, the touch screen 100 may communicate a position signal representing a user's finger contact at a region of the touch screen 100 to a game controller processor 402. The touch screen 100 may also synchronously recognize simultaneous contacts from multiple objects (e.g. using multi-touch technology).

In one particular embodiment, the touch screen 100 may provide haptic information to a user contacting the touch screen 100. The haptic information may include feedback provided to a user's finger upon contacting a certain region of the touch screen 100. In another example, the region of the touch screen 100 may vibrate at a distinctive frequency when the user's finger contacts the region.

The touch screen 100 may also provide the haptic information with a variable and configurable surface friction coefficient. For example, the region of the touch screen 100 associated with the representation of the virtual β button 108 may have a different surface friction coefficient than the rest of the touch screen 100. In other embodiments, the surface friction coefficient may differ only at the edge of the region associated with the virtual β button 108. Accordingly, the user may haptically perceive a physical control button when contacting the region associated with the virtual β button 108 on the touch screen 100.

The haptic information may provide the user the ability to haptically differentiate the respective regions of the touch screen 100. Accordingly, the user may then navigate the touch screen 100 without periodically visually reassessing the region of various graphical representations of the virtual control buttons. For example, the region of the touch screen 100 associated with the representation of the virtual β button 108 is configured to a displacement of a distance of 0.005 m with respect to the immediately surrounding area. Thus, the user may be able to both visually and haptically identify the region of the touch screen 100 associated with the virtual β button 108. The user may cause a signal representing the user contact with the touch screen 100 to be generated by the game controller 103 by contacting the object to the region associated with the representation of the virtual β button 108.

In one embodiment, the user performs certain configuration operations (e.g. drag and drop operation, specify patterns of contact motion on the surface of the touch screen 100, etc.). A configuration operation may associate the graphical representations of the virtual control buttons with a particular size, shape and region of the touch screen 100. FIG. 2 and FIG. 3 provide further provide explanation by way of example configuration operations. The game controller 103 may then communicate a signal representing the configuration operation to the video game system 105. In turn, the video game system 105 may communicate a layout update command to the game controller 103 to render the graphical representations of the virtual control buttons in the another touch screen configuration 101B as shown in FIG. 1B.

FIG. 1B illustrates the game controller 103 with another touch screen configuration 101B, according to one embodiment. The graphical and haptic representation of the virtual β button 108 may be configured to a new position according to the layout update command. Similarly, the graphical representation of the virtual Δ button 114 may be configured to a new region, size and shape, according to the layout update command. Finally, the graphical representation of the virtual α button 110 and the graphical representation of virtual γ button 112 have been configured to the same region of the touch screen 100, according to the layout update command as illustrated in FIG. 1B.

In one particular example embodiment, a value of a particular virtual control button may be modified due to a change in a level of the video game. The video game system 105 may then communicate another layout command to configure the particular graphical representation of the virtual control button. For example, a user may play a first level of a particular video game from a third-person perspective. In this level, a user may utilize the virtual α button more frequently than the virtual Δ button 114. As a result, during play of the first level, the touch screen 100 may be automatically configured with the representation of the virtual α button 110 in a more optimal location than the graphical representation of the virtual Δ button 114. The user may play the second level of the video game from a first-person perspective where the entity representing the player remains in a fixed position. Consequently, during play of the second level, the touch screen 100 may be configured with the graphical representation of the virtual α button 110 removed and the graphical representation of the virtual Δ button 114 in the more optimal location. The layout update command and subsequent configuration of the graphical representations of the virtual control buttons may occur during a runtime mode of the video game system 105. Furthermore, the value of the virtual Δ button 114 may be modified according to the particular skill level of the user. For example, the value of the virtual Δ button 114 of a user may be algorithmically set according to the current score of the user in the game environment.

FIG. 2 illustrates executing a drag and drop operation to associate a graphical representation of a virtual φ button with another region of the touch screen 100, according to one embodiment. The video game system 105 may be set to a configuration mode. A user may contact a finger to the graphical representation of the virtual φ button in an initial position 206A. The user may perform a drag and drop operation with the finger to place the graphical representation of the virtual φ button from an initial position 206A to a final position 206B. Accordingly, the game controller 103 may communicate a signal representing the drag and drop operation to the video game system 105 with operation 214. The video game system 105 may then generate a layout update command. The video game system 105 may communicate the layout update command to the game controller 103 in operation 216. In operation 218, the game controller 103 may reconfigure the location of the graphical representation of the virtual φ button in the final position 206B according to the layout update command.

FIG. 3A illustrates a multi-touch operation to modify a size and a shape of a graphical representation of a virtual μ button 306A, according to another embodiment. The touch screen 100 of the game controller 103 may allow multiple simultaneous touch points from two or more fingers. For example, the user may contact the region of the touch screen 100 graphically representing the virtual μ button 306A with two fingers in an initial position 308A.

In FIG. 3B, the user may then move the two fingers to a final position 308B. The motion of the two fingers may be in a multi-touch pattern. The multi-touch pattern may be a predefined command used to manipulate the size and shape of representations of virtual control buttons of the touch screen 300. The game controller 103 may communicate a signal representing the multi-touch pattern to the video game system 105, in operation 314. The video game system 105 may recognize the signal pattern of the multi-touch pattern, in operation 315. Accordingly, the video game system 105 may communicate a layout update command to the game controller 103, in operation 316. In operation 317, the game controller 103 may then reconfigure the size and the shape of the graphical representation of the virtual μ button 306B according to the layout update command. In other embodiment of FIG. 3, the representations of virtual control buttons presented by the touch screen 100 may be configured during a runtime mode of the video game system 105 as indicated by the mode indicator 302.

FIG. 4 illustrates a schematic diagram of a game controller system, according to one embodiment. The touch screen 100 may receive an input from a user contact. The touch screen 100 may communicate a signal representing the user contact to the game controller processor 402. The game controller processor 402 may determine whether the signal is related to a location of a graphical representation of a virtual control button. For example, the game controller processor 402 may determine whether the input signal includes an association of a graphical representation of the virtual control button with another region of the touch screen 100. The game controller processor 402 may also determine whether the signal is related to a function of the virtual button (e.g. controlling an action of an entity in a video game).

The game controller processor 402 may then communicate the signal to a video game system 105. In one embodiment, the communication module 420 and the antenna 412 may be used to communicate the signal to the video game system 105. The communication module 420 may use an open wireless protocol (e.g. Bluetooth®) for exchanging data between the game controller 103 and the video game system 105. The communication module 420 and the antenna 412 may also receive commands (e.g. layout commands, layout update commands) from the video game system 105.

The game controller processor 402 may execute a command communicated by the video game system 105. For example, the command may be a layout command to render a graphical and haptic representation of a virtual control button on the touch screen 100. The game controller processor 402 may then render the graphical and haptic representation of a virtual control button on the touch screen 100. The memory (e.g. random access memory) 404 and the persistent storage 406 (e.g. a flash memory) may include a set of processor-readable instructions to implement commands from and generate a signal to the video game system 105. The game controller 103 may also include a power source (e.g. battery).

FIG. 5 illustrates a block diagram of a video game system 105, according to one embodiment. The video game processor 502 may generate a command (e.g. a layout command, a layout update command) relating to a configuration or a value of the virtual control buttons presented by the game controller 103. In one embodiment, the communication module 504 and the antenna 506 may communicate the command to the game controller. The communication module 504 and the antenna 506 may use an open wireless protocol (e.g. Bluetooth®) for exchanging data between the video game processor 502 and the game controller. The communication module 504 and the antenna 506 may also receive signals from the game controller 103. The signals may be processed by the video game processor 502 according to a set of processor-readable instructions provided by the virtual control button module 500.

The memory 510 may include a virtual control button module 500. The virtual control button module 500 may include a set of instructions relating to the presentation and functionalities of virtual control buttons. The memory 510 may also include a virtual control button. In one embodiment, the memory 510 may include the virtual α button 518, virtual β button 520, virtual γ button 522 and the virtual Δbutton 524. The virtual α button 518, virtual β button 520, virtual γ button 522 and the virtual Δbutton 524 are virtual control buttons. A virtual control button may control the actions and/or attributes of an entity in a video game. In another embodiment, a virtual control button may also control a state of the video game system 105. For example, the virtual α button 518 may include a set of instructions to cause an entity of a video game to perform an action associated with the virtual α button 518.

The video game processor 502 processes an application relating to a video game 516 being played. The video game application 516 may include a hardware that involves interaction with the game controller to generate visual feedback on the video display 514. The video game application 516 may include a set of processor-readable instructions. The video game application 516 may be installed or implemented on a physical media (e.g. a compact disk, an optical disk storage, etc.) or through the network 120service, according to one embodiment.

The video game system 105 may include a graphics processing unit 508. The graphics processing unit 508 may include a specialized graphics processor to render graphics on the video display 514.

FIG. 6 is a process flow that illustrates configuring a representation of a virtual control button on a touch screen 100 of a game controller 103, according to one embodiment. In operation 602, a representation of the virtual control button of a video game in a region of the touch screen 100 is rendered with the game controller processor 402, according to a layout command from a video game system 105. In operation 604, the representation of the virtual control button is associated with another region of the touch screen 100. In operation 606, a signal including the association of the other region with the representation of the virtual control button is communicated to the video game system 105. In operation 608, the signal is converted to a processor readable code to cause the video game system 105 to generate a layout update command. In operation 610, the layout update command is generated. In operation 612, the layout update command is communicated to the game controller processor 402. In operation 614, the representation of the virtual control button in the other region is rendered by the game controller processor 402 according to the layout update command. The structures and modules of FIG. 4 and FIG. 5 may be used to implement operations 602-614.

FIG. 7 is a process flow illustrating a method of configuring a touch screen 100 of a game controller 103, according to one embodiment. In operation 702, a virtual button is rendered with a game controller processor 402 for display on a location of the touch screen 100 of the game controller according to a layout command from a video game system 105. In operation 704, an association of the virtual button with another location of the touch screen 100 is determined. In operation 706, a signal including the association of the virtual button with the other location of the touch screen 100 is generated. The signal causes the video game system 105 to communicate a layout update command to the game controller 103. In operation 708, the virtual button is configured in the other location of the touch screen 100 according to the layout update command. The structures of FIG. 4 and FIG. 5 may be used to implement operations 702-708.

Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, etc. described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software or any combination of hardware, firmware, or software (e.g., embodied in a machine readable medium). For example, the various electrical structure and methods may be embodied using logic gates, and electrical circuits (e.g., application specific integrated (ASIC) circuitry or in Digital Signal Processor (DSP) circuitry).

In addition, it will be appreciated that the various operations, processes, and methods disclosed herein may be embodied in a machine-readable medium or a machine accessible medium compatible with a data processing system (e.g., a computer system), and may be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. 

1. A method comprising: rendering, with a game controller processor, a representation of a virtual control button in a region of a touch screen of a game controller according to a layout command from a video game system; associating the representation of the virtual control button with an other region of the touch screen; communicating a signal comprising an association of the other region with the representation of the virtual control button to the video game system; and converting the signal to a processor readable code to cause the video game system to generate a layout update command.
 2. The method of claim 1 further comprising: generating the layout update command; communicating the layout update command to the game controller processor; and rendering, with the game controller processor, the representation of the virtual control button in the other region according to the layout update command.
 3. The method of claim 2 further comprising: providing at least one of a graphical representation and a haptic representation of the virtual control button in the other region.
 4. The method of claim 3 further comprising: assigning a value to the virtual control button according to at least one of a particular mode of the video game system, a skill level of a particular video game player and a particular video game environment.
 5. The method of claim 4 further comprising: modifying at least one of a shape of the representation of the virtual control button and a size of the representation of the virtual control button.
 6. The method of claim 5, wherein the representation of the virtual control button is associated with the other region of the touch screen during a runtime mode of the video game system.
 7. The method of claim 6, wherein associating the other region of the touch screen with a control element further comprises: recognizing a tactile force in the region of the touch screen; and detecting a motion of the tactile force of the other region of the touch screen.
 8. The method of claim 7 further comprising: associating an other representation of an other virtual control button with the other region.
 9. The method of claim 1, wherein a machine is caused to perform the method of claim 1 when a set of instructions in a form of a machine-readable medium is executed by the machine.
 10. A system comprising: a video game system; a game controller communicatively coupled with the video game system; a game controller processor to render a representation of a virtual control button in a region of a touch screen of the game controller according to a layout command from the video game system, to detect an association of the representation of the virtual control button with an area outside the region of the touch screen, and to generate a signal comprising the association of the representation of the virtual control button with the area outside the region; the touch screen of the game controller to display the representation of the virtual control button; and a virtual control button module of the video game system to analyze the signal rendered by the game controller processor, and to generate a layout update command to cause the game controller processor to an other representation of the virtual control button in the area outside the region.
 11. The system of claim 10, wherein the game controller processor renders the representation of the virtual control button in the area outside the region according to the layout update command.
 12. The system of claim 11, wherein the virtual control button module assigns a value to the virtual control button according to at least one of a particular mode of a video game, a particular skill level of a video game player and a particular video game environment.
 13. The system of claim 12, wherein the virtual control button module provides a haptic indication of the virtual control button.
 14. The system of claim 13, wherein the virtual control module modifies at least one of a shape of the representation of the virtual control button and a size of the representation of the virtual control button on the touch screen during a runtime mode of the video game.
 15. The system of claim 14, wherein the virtual control button modules recognizes a drag and drop operation as the association of the representation of the virtual control button with the area outside the region.
 16. The system of claim 12, wherein the virtual control module associates the representation of the virtual control button with the area outside the region during runtime mode of the video game.
 17. The system of claim 16, wherein the virtual control button module modifies the at least one of the shape of the representation of the virtual control button and the size of the representation of the virtual control button according to a pre-defined gesture on the touch screen.
 18. A method comprising: rendering, with a processor of a game controller, a virtual button to display on a specified location of a touch screen of the game controller according to a layout command from a video game system; determining an association of the virtual button with an other location of the touch screen; and generating a signal comprising the association of the virtual button with the other location of the touch screen, wherein the signal causes the video game system to communicate a layout update command to the game controller.
 19. The method of claim 18 further comprising: configuring the virtual button in the other location of the touch screen according to the layout update command; and rendering, with the processor of the game controller, a haptic indication of the virtual button on the specified location of the touch screen.
 20. The method of claim 19 further comprising: rendering, with the processor of the game controller, a graphical indication of the virtual button on the specified location of the touch screen. 